/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ups.edu.ec.gestor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import ups.edu.ec.modelo.SpiPlan;
import ups.edu.ec.modelo.SpiPlanId;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author UPS
 */
public class GestorPlan implements Serializable{
    String mensajePlan="";
    public GestorPlan() {
        int j=1;
    }
    private short ptlCodigo = 1;
    private List<SpiPlan> listadoSpiPlan = new ArrayList<SpiPlan>();

    private SpiPlan plan= new SpiPlan();

    public String insertarPlan(){
		mensajePlan="";
		Session session=null;
		try{
			session = HibernateUtil.getSessionFactory().openSession();
			session.beginTransaction();
                        String sqlSecuencia =" select SQ_SPI_PLA_CODIGO.nextval from dual";
                        Query q =session.createSQLQuery(sqlSecuencia);
                        Object o = q.uniqueResult();
                        String aux = o.toString();
                        SpiPlanId id = new SpiPlanId();
                        id.setPlaCodigo(Short.parseShort(aux));
                        id.setPltCodigo(ptlCodigo);
                        plan.setId(id);
                        plan.setPlaFechaAdicion(new java.util.Date());
			session.save(plan);

			session.getTransaction().commit();
			mensajePlan="ok";
		}catch(Exception e){
			mensajePlan=e.getMessage();
			System.out.println(e.getMessage());
		}finally{
			try{
				session.close();
			}catch(Exception excep){

			}

		}
		return "SpiPlanEdit.jsf";
	}

    public List<SpiPlan> listarPlan(){

		Session	session = HibernateUtil.getSessionFactory().openSession();
		return session.createQuery("from SpiPlan").list();
        }

    public String getMensajePlan() {
        return mensajePlan;
    }

    public void setMensajePlan(String mensajePlan) {
        this.mensajePlan = mensajePlan;
    }

    public SpiPlan getPlan() {
        return plan;
    }

    public void setPlan(SpiPlan plan) {
        this.plan = plan;
    }

    public short getPtlCodigo() {
        return ptlCodigo;
    }

    public void setPtlCodigo(short ptlCodigo) {
        this.ptlCodigo = ptlCodigo;
    }

    public List<SpiPlan> getListadoSpiPlan() {
        listadoSpiPlan=this.listarPlan();
        return listadoSpiPlan;
    }

    public void setListadoSpiPlan(List<SpiPlan> listadoSpiPlan) {
        this.listadoSpiPlan = listadoSpiPlan;
    }


    

}
